package br.dao;

import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.Session;

import br.modelo.Pessoa;

public class PessoaDAOHibernate implements PessoaDAO {
	private Session sessao;

	
	@Override
	public void salvar(Pessoa pessoa) {
		this.sessao.save(pessoa);

	}
	
	@Override
	public void excluir(Pessoa pessoa) {
		this.sessao.delete(pessoa);

	}
	
	@Override
	public void alterar(Pessoa pessoa) {
		this.sessao.update(pessoa);
	}
	
	@Override
	public Pessoa pesquisarPorCodigo(Integer codigo) {
		
		return (Pessoa) this.sessao.get(Pessoa.class, codigo);
	}
	
	@SuppressWarnings("unchecked")
	@Override
	public List<Pessoa> listar() {
		Criteria lista = sessao.createCriteria(Pessoa.class);
		return lista.list();
	}

	
	
	
	
	
	
	// GET e SET
	public Session getSessao() {
		return sessao;
	}

	public void setSessao(Session sessao) {
		this.sessao = sessao;
	}
	
	
	
}
